<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use think\Request;
use app\api\model\Production;
use app\api\model\Apply;
class Activity extends Controller
{
    /**
     * 活动接口
     * 接口地址:http://localhost/zyd/public/index.php/api/activity/list_1
     * 请求方式：get/post
     * 请求示例：http://localhost/zyd/public/index.php/api/activity/list_1?page=2
     * 请求参数：
     * 名称 必填 
     * page  否 默认为第一页
    * 返回参数说明
     * 名称  说明
     * code   0失败，1成功
     * message 提示信息
     * data    活动信息
     */
    public function list_1($page = '')
    {
        
        $page = $page? $page : 1;
        $data = Db::name('activity')->limit(10)->page($page)->select();
        if($data)
        {
            return json(['code'=>1,'message'=>'加载成功','data'=>$data]);
        }
        else
        {
            return json(['code'=>0,'message'=>'没有数据啦','data'=>$data]);
        }
    }
    /**
     * 正在进行活动接口
     * 接口地址:http://localhost/zyd/public/index.php/api/activity/list_2
     * 请求方式：get/post
     * 请求示例：http://localhost/zyd/public/index.php/api/activity/list_2?page=2
     * 请求参数：
     * 名称 必填 
     * page  否 默认为第一页
    * 返回参数说明
     * 名称  说明
     * code   0失败，1成功
     * message 提示信息
     * data    活动信息
     */
    public function list_2($page = '')
    {
        
        $page = $page? $page : 1;
        $data = Db::name('activity')->limit(10)->page($page)->where('status',0)->select();
        if($data)
        {
            return json(['code'=>1,'message'=>'加载成功','data'=>$data]);
        }
        else
        {
            return json(['code'=>0,'message'=>'没有数据啦','data'=>$data]);
        }
    }
    /**
     * 已结束活动接口
     * 接口地址:http://localhost/zyd/public/index.php/api/activity/list_3
     * 请求方式：get/post
     * 请求示例：http://localhost/zyd/public/index.php/api/activity/list_3?page=2
     * 请求参数：
     * 名称 必填 
     * page  否 默认为第一页
    * 返回参数说明
     * 名称  说明
     * code   0失败，1成功
     * message 提示信息
     * data    活动信息
     */
    public function list_3($page = '')
    {
        
        $page = $page? $page : 1;
        $data = Db::name('activity')->limit(10)->page($page)->where('status',1)->select();
        if($data)
        {
            return json(['code'=>1,'message'=>'加载成功','data'=>$data]);
        }
        else
        {
            return json(['code'=>0,'message'=>'没有数据啦','data'=>$data]);
        }
    }
    /**
     * 活动详情接口
     * 接口地址:http://localhost/zyd/public/index.php/api/activity/details
     * 请求方式：get/post
     * 请求示例：http://localhost/zyd/public/index.php/api/activity/details?activity_id=5
     * 请求参数：
     * 名称          必填 
     * activity_id   是
    * 返回参数说明
     * 名称  说明
     * code   0失败，1成功
     * message 提示信息
     * data    活动信息
     */
    public function details($activity_id)
    {
        
        $data = Db::name('activity')->where('activity_id',$activity_id)->select();
        // $data1 = Db::name('apply')->where('activity_id',$activity_id)->field('p_id')->select();

        $data2 = Apply::with('user,works')->where('activity_id',$activity_id)->select();
        // dump($data2);
        // exit;
        if($data)
        {
            return json(['code'=>1,'message'=>'加载成功','activity'=>$data,'zuoping'=>$data2]);
        }
        else
        {
            return json(['code'=>0,'message'=>'没有数据啦','data'=>$data,'zuoping'=>$data2]);
        }
    }
    /**
     * 搜索活动接口
     * 接口地址:http://localhost/zyd/public/index.php/api/activity/search
     * 请求方式：get/post
     * 请求示例：http://localhost/zyd/public/index.php/api/activity/search?page=2
     * 请求参数：
     * 名称 必填 
     * page  否 默认为第一页
     * name  是  搜索关键字
    * 返回参数说明
     * 名称  说明
     * code   0失败，1成功
     * message 提示信息
     * data    文章信息
     */
    public function search($page = '',$name)
    {
        
        $page = $page? $page : 1;
        $data = Db::name('activity')->where('title','like',"%{$name}%")->limit(10)->page($page)->select();
        if($data)
        {
            return json(['code'=>1,'message'=>'加载成功','data'=>$data]);
        }
        else
        {
            return json(['code'=>0,'message'=>'没有数据啦','data'=>$data]);
        }
    }
    /**
     * 参与活动提交作品接口
     * 接口地址:http://localhost/zyd/public/index.php/api/activity/add
     * 请求方式：get/post
     * 请求示例：http://localhost/zyd/public/index.php/api/activity/add
     * 请求参数：
     * 名称            必填   说明
     * activity_id      是      活动id
     * title            是      标题      
     * introductory     是      简介
     * u_id             是      用户id
     * p_type           是      文章类型（如：技巧）
     * pic[]              是      多图pic应该为数组
    * 返回参数说明
     * 名称  说明
     * code   0失败，1成功
     * message 提示信息
      */
      public function add()
      {
          $post = request()->param();
          $request = Request::instance();
          $data=[
              'title'=>$post['title'],
              'u_id'=>$post['u_id'],
              'view'=>0,
              'comment'=>0,
              'likecount'=>0,
              'introductory'=>$post['introductory'],
              'p_type'=>$post['p_type'],
              'time' =>date("Y-m-d h:i:s"),
          ];
          $p_id = Db::table('production')->insertGetId($data);
          $apply =[
            'u_id'=>$post['u_id'],
            'activity_id'=>$post['activity_id'],
            'p_id'=>$p_id,
          ];
          $files = request()->file('pic');
          foreach ($files as $file) 
          {
              $look = $file->rule('uniqid')->validate(['size' => 5242880, 'ext' => 'jpg,jpeg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'static' . DS .'img');
              if ($look) {
                  $pic = $look->getFilename();
                  $http = $request->domain();
                  $src = "$http/zyd/public/static/img/$pic";
                  $img = [
                      'p_id'=>$p_id,
                      'pic'=>$src,
                  ];
                  Db::table('img')->insertGetId($img);
              }
          }
          $hd = Db::table('production')->where('p_id',$p_id)->update(['pic' =>$src]);
          $aa = Db::table('apply')->insertGetId($apply);
          if($aa)
              {
                  return json(['code'=>1,'message'=>'参与成功']);
              }
              else{
                  return json(['code'=>0,'message'=>'失败']);
              }
      }
}
